# TeamViewer remote Desktop ***Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.*** --- **TeamViewer** is a cross-platform remote desktop tool that supports remote support, remote access, remote management, home office, and online collaboration. Unlike LAN-based connection methods such as SSH, Samba, and RDP, TeamViewer typically requires both the device and the controller to be able to access TeamViewer servers, making it suitable for cross-network remote maintenance of the Quectel Pi M2. This document describes how to install TeamViewer Host on the Quectel Pi M2 Debian system and connect to the device from a Windows host via the TeamViewer client. > 💡 Note: TeamViewer requires access to public internet services to generate a device ID. If the Quectel Pi M2 is only connected to an ADB virtual network interface, or the current network cannot access the internet, the TeamViewer service can start, but the TeamViewer ID may not be displayed in `sudo teamviewer info`. # Prerequisites 1. Confirm the device environment: - Quectel Pi M2 has booted into the Debian graphical desktop - Quectel Pi M2 can connect to the internet normally - TeamViewer client is installed on the Windows host 2. Check the Quectel Pi M2 network status. Run the following commands in the Quectel Pi M2 terminal: ```bash hostname -I ip route ping -c 3 8.8.8.8 ping -c 3 linux.teamviewer.com ``` If both `ping` commands return time information, the network and domain name resolution are working normally. # Software Installation TeamViewer officially provides Debian packages for the ARM64 architecture. When the Quectel Pi M2 is used as a remotely controlled device, it is recommended to install **TeamViewer Host**. 1. Update the package list: ```bash sudo apt update ``` 2. Download the TeamViewer Host package: ```bash wget https://download.teamviewer.com/download/linux/teamviewer-host_arm64.deb ``` 3. Install TeamViewer Host: ```bash sudo apt install -y ./teamviewer-host_arm64.deb ``` If you used `dpkg -i teamviewer-host_arm64.deb` to install and encountered missing dependency errors, run the following command to fix dependencies: ```bash sudo apt --fix-broken install ``` This document was tested on Debian 13. If offline installation reports missing `libminizip1` or `libxcb-xinerama0`, prepare the corresponding ARM64 dependency packages first, then run: ```bash sudo dpkg -i libminizip1t64_*.deb libxcb-xinerama0_*.deb sudo dpkg --configure teamviewer-host ``` # Software Configuration After installation, you can set the TeamViewer background service to start automatically on boot: ```bash sudo systemctl enable teamviewerd ``` To check the service running status, run: ```bash sudo systemctl status teamviewerd --no-pager -l ``` Under normal conditions, you should see the `active (running)` status. # Software Startup The basic startup and initialization flow for TeamViewer Host is as follows: ```bash sudo systemctl start teamviewerd sudo teamviewer license accept sudo teamviewer passwd '' sudo teamviewer info ``` If `sudo teamviewer license accept` returns `License agreement has already been accepted.`, the license agreement has already been accepted and you can proceed with the next steps. `` is the remote control password used when the Windows host connects to the Quectel Pi M2. TeamViewer validates password complexity. It is recommended to use a password containing letters and numbers with at least 8 characters, for example: ```bash sudo teamviewer passwd 'Quectel2026' ``` If the command returns `ok`, the password has been set successfully. If the network is working normally, `sudo teamviewer info` will display the TeamViewer ID. This ID is required when the Windows host connects remotely. To restart the TeamViewer service, run: ```bash sudo teamviewer --daemon restart ``` To open the graphical interface, open **TeamViewer Host** from the Quectel Pi M2 desktop application menu, or run the following command in the terminal: ```bash teamviewer ``` On first use, follow the on-screen prompts to accept the license agreement and log in to your TeamViewer account or view the local connection information. # Remote Connection ## Windows-side Preparation 1. Install the TeamViewer client on the Windows host. 2. Open TeamViewer and log in to your TeamViewer account. 3. Confirm that the Windows host can access the internet. First-time device login may require account verification; follow the prompts to trust the device. ## Windows-side Connection 1. Run the following command on the Quectel Pi M2 to obtain the TeamViewer ID: ```bash sudo teamviewer info ``` 2. Enter the Quectel Pi M2's TeamViewer ID in the Windows TeamViewer client and click **Connect**. ```{image} images/image_WZPAbyZwWo4C49xGBvucDapyn5e.webp :width: 1026px :height: 800px ``` 3. Enter the previously set connection password when prompted, or complete verification through the TeamViewer account authorization flow. 4. If a remote interaction confirmation window pops up on the Quectel Pi M2, click **Share** to allow remote control. ```{image} images/image_CyQvbx0hhoCbPMxzyutcRGqInId.webp :width: 656px :height: 486px ``` 5. After a successful connection, you can remotely view and operate the Quectel Pi M2 Debian desktop from the Windows host. # Troubleshooting | **Symptom** | **Possible Cause** | **Solution** | | --- | --- | --- | | TeamViewer ID is empty in `teamviewer info` | The normal user has no permission to read TeamViewer global configuration, or the Quectel Pi M2 currently cannot access the internet/DNS is unavailable | First run `sudo teamviewer info` to check; if still empty, run `ip route`, `ping -c 3 8.8.8.8`, `ping -c 3 linux.teamviewer.com` to check network and domain name resolution, confirm internet access, then restart `teamviewerd` | | Setting connection password fails with `passwort invalid - validation failed [E14]` | Password is too simple or does not meet TeamViewer complexity requirements | Use a password containing letters and numbers with at least 8 characters and run `sudo teamviewer passwd ''` again | | TeamViewer service cannot start | Package dependencies are not fully configured | First use `sudo apt install -y ./teamviewer-host_arm64.deb` to reinstall; if previously installed with `dpkg -i`, run `sudo apt --fix-broken install`, or install missing dependencies then run `sudo dpkg --configure teamviewer-host` | | Windows client cannot connect | Windows host or Quectel Pi M2 cannot access TeamViewer services | Confirm both sides can access the internet and re-obtain the TeamViewer ID | | Windows client shows device is offline | Quectel Pi M2 can access public IP but DNS cannot resolve TeamViewer domain | Run `cat /etc/resolv.conf` to check DNS configuration, remove abnormal lines (e.g. `nameserver \|`), then run `ping -c 3 linux.teamviewer.com` to verify domain resolution; after recovery, restart `teamviewerd` | | Terminal gets stuck on status page after viewing service status | `systemctl status` enters pager mode by default | Press `q` to exit, or use `sudo systemctl status teamviewerd --no-pager -l` to view status | | Windows client prompts for verification | First login or account security policy triggered verification | Follow the TeamViewer client prompts to complete email, account, or device trust verification | | Screen is abnormal or cannot be controlled after connection | Quectel Pi M2 graphical desktop is not logged in or current session is abnormal | Confirm that the Quectel Pi M2 has entered the graphical desktop; if necessary, re-login to the desktop or restart the TeamViewer service | | ADB is available but TeamViewer has no ID | Only the ADB virtual network interface exists; the device has no actual internet access | Connect to Wi-Fi or wired network, then run `sudo teamviewer info` to verify | # Uninstall TeamViewer To uninstall TeamViewer Host, run: ```bash sudo systemctl stop teamviewerd sudo apt remove teamviewer-host ``` If you also want to remove the unused installation package, you can manually delete `teamviewer-host_arm64.deb` from the download directory.